package com.neulogistics.contrib.procuredcenter.domain.model.aggregate;

import cn.hutool.json.JSONObject;
import com.neulogistics.contrib.procuredcenter.domain.model.valueobject.Address;
import com.neulogistics.infrastructure.ddd.domain.seedwork.Entity;
import com.neulogistics.infrastructure.ddd.domain.seedwork.IAggregateRoot;
import lombok.Data;

@Data
public class Vendor extends Entity<Integer> implements IAggregateRoot {
    /**
     * 供应商id
     */
    private Integer vendorId;

    /**
     * 供应商名称
     */
    private String vendorName;

    /**
     * 地址{省，市，区，详细}
     */
    private Address vendorAddress;

    /**
     * 联系人
     */
    private String vendorContact;

    /**
     * 联系电话
     */
    private String vendorPhone;

    /**
     * 开户行
     */
    private String vendorAccountBank;

    /**
     * 银行账号
     */
    private String vendorAccount;

    /**
     * 邮件地址
     */
    private String vendorEmail;

    /**
     * 邮编
     */
    private String vendorZip;

    /**
     * 法人
     */
    private String vendorLegalPerson;

    /**
     * 备注
     */
    private String vendorRemark;

    /**
     * 是否删除
     */
    private Integer deleted;

    public Vendor() {
    }

    public Vendor(String vendorName, Address vendorAddress, String vendorContact,
                  String vendorPhone, String vendorAccountBank, String vendorAccount,
                  String vendorEmail, String vendorZip, String vendorLegalPerson,
                  String vendorRemark) {
        this.vendorName = vendorName;
        this.vendorAddress = vendorAddress;
        this.vendorContact = vendorContact;
        this.vendorPhone = vendorPhone;
        this.vendorAccountBank = vendorAccountBank;
        this.vendorAccount = vendorAccount;
        this.vendorEmail = vendorEmail;
        this.vendorZip = vendorZip;
        this.vendorLegalPerson = vendorLegalPerson;
        this.vendorRemark = vendorRemark;
    }
}
